[INFO] fetching crate oak-tcl 0.0.10...
[INFO] testing oak-tcl-0.0.10 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate oak-tcl 0.0.10 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate oak-tcl 0.0.10
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate oak-tcl 0.0.10
[INFO] tweaked toml for crates.io crate oak-tcl 0.0.10 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oak-tcl 0.0.10 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oak-tcl 0.0.10 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded oak-highlight v0.0.10
[INFO] [stderr]   Downloaded oak-testing v0.0.10
[INFO] [stderr]   Downloaded oak-macros v0.0.10
[INFO] [stderr]   Downloaded oak-lsp v0.0.10
[INFO] [stderr]   Downloaded oak-mcp v0.0.10
[INFO] [stderr]   Downloaded oak-hover v0.0.10
[INFO] [stderr]   Downloaded oak-semantic-search v0.0.10
[INFO] [stderr]   Downloaded oak-pretty-print v0.0.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7bbd93f79e7521f2f58587634ebdd98b599432b99245748e905a780466e9bd3e
[INFO] running `Command { std: "docker" "start" "-a" "7bbd93f79e7521f2f58587634ebdd98b599432b99245748e905a780466e9bd3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7bbd93f79e7521f2f58587634ebdd98b599432b99245748e905a780466e9bd3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bbd93f79e7521f2f58587634ebdd98b599432b99245748e905a780466e9bd3e", kill_on_drop: false }`
[INFO] [stdout] 7bbd93f79e7521f2f58587634ebdd98b599432b99245748e905a780466e9bd3e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 297ae8c83f720d9d65b6b906f87537f9b52d605a302b7610243af88d8621d83b
[INFO] running `Command { std: "docker" "start" "-a" "297ae8c83f720d9d65b6b906f87537f9b52d605a302b7610243af88d8621d83b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling twox-hash v2.1.2
[INFO] [stderr]    Compiling triomphe v0.1.15
[INFO] [stderr]    Compiling oak-core v0.0.10
[INFO] [stderr]    Compiling oak-tcl v0.0.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `RedTree`
[INFO] [stdout]  --> src/builder/mod.rs:7:100
[INFO] [stdout]   |
[INFO] [stdout] 7 | use oak_core::{Builder, BuilderCache, GreenNode, Lexer, OakDiagnostics, OakError, Parser, RedNode, RedTree, SourceText, TextEdit, sou...
[INFO] [stdout]   |                                                                                                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Source`
[INFO] [stdout]  --> src/lexer/token_type.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{Source, Token, TokenType, UniversalElementRole, UniversalTokenRole};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parser`
[INFO] [stdout]  --> src/parser/element_type.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{ElementType, Parser, UniversalElementRole};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GreenNode`
[INFO] [stdout]   --> src/parser/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     GreenNode, OakError,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TCL_WHITESPACE` is never used
[INFO] [stdout]   --> src/lexer/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | static TCL_WHITESPACE: WhitespaceConfig = WhitespaceConfig { unicode_whitespace: true };
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lexer/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TclLexer<'config> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 24 |     config: &'config TclLanguage,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TclLexer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.89s
[INFO] running `Command { std: "docker" "inspect" "297ae8c83f720d9d65b6b906f87537f9b52d605a302b7610243af88d8621d83b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "297ae8c83f720d9d65b6b906f87537f9b52d605a302b7610243af88d8621d83b", kill_on_drop: false }`
[INFO] [stdout] 297ae8c83f720d9d65b6b906f87537f9b52d605a302b7610243af88d8621d83b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d36142e09ecb0af36cba6f46f36aacfc3ed7de9960e1c52df744cd851911dcc8
[INFO] running `Command { std: "docker" "start" "-a" "d36142e09ecb0af36cba6f46f36aacfc3ed7de9960e1c52df744cd851911dcc8", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stdout] warning: unused import: `RedTree`
[INFO] [stdout]  --> src/builder/mod.rs:7:100
[INFO] [stdout]   |
[INFO] [stdout] 7 | use oak_core::{Builder, BuilderCache, GreenNode, Lexer, OakDiagnostics, OakError, Parser, RedNode, RedTree, SourceText, TextEdit, sou...
[INFO] [stdout]   |                                                                                                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Source`
[INFO] [stdout]  --> src/lexer/token_type.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{Source, Token, TokenType, UniversalElementRole, UniversalTokenRole};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parser`
[INFO] [stdout]  --> src/parser/element_type.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{ElementType, Parser, UniversalElementRole};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GreenNode`
[INFO] [stdout]   --> src/parser/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     GreenNode, OakError,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TCL_WHITESPACE` is never used
[INFO] [stdout]   --> src/lexer/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | static TCL_WHITESPACE: WhitespaceConfig = WhitespaceConfig { unicode_whitespace: true };
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lexer/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TclLexer<'config> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 24 |     config: &'config TclLanguage,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TclLexer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling oak-testing v0.0.10
[INFO] [stderr]    Compiling oak-tcl v0.0.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `RedTree`
[INFO] [stdout]  --> src/builder/mod.rs:7:100
[INFO] [stdout]   |
[INFO] [stdout] 7 | use oak_core::{Builder, BuilderCache, GreenNode, Lexer, OakDiagnostics, OakError, Parser, RedNode, RedTree, SourceText, TextEdit, sou...
[INFO] [stdout]   |                                                                                                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Source`
[INFO] [stdout]  --> src/lexer/token_type.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{Source, Token, TokenType, UniversalElementRole, UniversalTokenRole};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parser`
[INFO] [stdout]  --> src/parser/element_type.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use oak_core::{ElementType, Parser, UniversalElementRole};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GreenNode`
[INFO] [stdout]   --> src/parser/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     GreenNode, OakError,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TCL_WHITESPACE` is never used
[INFO] [stdout]   --> src/lexer/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | static TCL_WHITESPACE: WhitespaceConfig = WhitespaceConfig { unicode_whitespace: true };
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lexer/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TclLexer<'config> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 24 |     config: &'config TclLanguage,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TclLexer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.72s
[INFO] running `Command { std: "docker" "inspect" "d36142e09ecb0af36cba6f46f36aacfc3ed7de9960e1c52df744cd851911dcc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d36142e09ecb0af36cba6f46f36aacfc3ed7de9960e1c52df744cd851911dcc8", kill_on_drop: false }`
[INFO] [stdout] d36142e09ecb0af36cba6f46f36aacfc3ed7de9960e1c52df744cd851911dcc8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6aa9fe983c3c5b19a867482664da0988e9435f0afa41460b90be834baf605ca8
[INFO] running `Command { std: "docker" "start" "-a" "6aa9fe983c3c5b19a867482664da0988e9435f0afa41460b90be834baf605ca8", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `RedTree`
[INFO] [stderr]  --> src/builder/mod.rs:7:100
[INFO] [stderr]   |
[INFO] [stderr] 7 | use oak_core::{Builder, BuilderCache, GreenNode, Lexer, OakDiagnostics, OakError, Parser, RedNode, RedTree, SourceText, TextEdit, sou...
[INFO] [stderr]   |                                                                                                    ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Source`
[INFO] [stderr]  --> src/lexer/token_type.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use oak_core::{Source, Token, TokenType, UniversalElementRole, UniversalTokenRole};
[INFO] [stderr]   |                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Parser`
[INFO] [stderr]  --> src/parser/element_type.rs:1:29
[INFO] [stderr]   |
[INFO] [stderr] 1 | use oak_core::{ElementType, Parser, UniversalElementRole};
[INFO] [stderr]   |                             ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GreenNode`
[INFO] [stderr]   --> src/parser/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     GreenNode, OakError,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `TCL_WHITESPACE` is never used
[INFO] [stderr]   --> src/lexer/mod.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | static TCL_WHITESPACE: WhitespaceConfig = WhitespaceConfig { unicode_whitespace: true };
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/lexer/mod.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct TclLexer<'config> {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 24 |     config: &'config TclLanguage,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TclLexer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `oak-tcl` (lib) generated 6 warnings (run `cargo fix --lib -p oak-tcl` to apply 4 suggestions)
[INFO] [stderr] warning: `oak-tcl` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oak_tcl-c46147559349f533)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/main.rs (/opt/rustwide/target/debug/deps/main-3d254ba2e67f3387)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test ready ... ok
[INFO] [stdout] test lexer::test_tcl_lexer ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- lexer::test_tcl_lexer stdout ----
[INFO] [stdout] Testing file: /opt/rustwide/workdir/tests/lexer/basic.tcl
[INFO] [stderr] error: test failed, to rerun pass `--test main`
[INFO] [stdout] Error: TestFailure { path: "/opt/rustwide/workdir/tests/lexer/basic.tcl", expected: "LexerTestExpected {\n    success: true,\n    count: 100,\n    tokens: [\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 93,\n            end: 96,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 97,\n            end: 101,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"John Doe\\\"\",\n            start: 102,\n            end: 112,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 114,\n            end: 117,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 118,\n            end: 121,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"30\",\n            start: 122,\n            end: 124,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 126,\n            end: 129,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"height\",\n            start: 130,\n            end: 136,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"5\",\n            start: 137,\n            end: 138,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"9\",\n            start: 139,\n            end: 140,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 142,\n            end: 145,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"is_student\",\n            start: 146,\n            end: 156,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 157,\n            end: 161,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 163,\n            end: 166,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"empty_var\",\n            start: 167,\n            end: 176,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"\\\"\",\n            start: 177,\n            end: 179,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 192,\n            end: 195,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fruits\",\n            start: 196,\n            end: 202,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{apple banana cherry date elderberry}\",\n            start: 203,\n            end: 240,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 242,\n            end: 245,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"numbers\",\n            start: 246,\n            end: 253,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{1 2 3 4 5}\",\n            start: 254,\n            end: 265,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 267,\n            end: 270,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mixed_list\",\n            start: 271,\n            end: 281,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{hello 42 3.14 world}\",\n            start: 282,\n            end: 303,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 305,\n            end: 308,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nested_list\",\n            start: 309,\n            end: 320,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{{a b c} {1 2 3} {x y z}}\",\n            start: 321,\n            end: 346,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"array\",\n            start: 381,\n            end: 386,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 387,\n            end: 390,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"person\",\n            start: 391,\n            end: 397,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    name \\\"Alice Smith\\\"\\r\\n    age 25\\r\\n    city \\\"New York\\\"\\r\\n    occupation \\\"Engineer\\\"\\r\\n}\",\n            start: 398,\n            end: 486,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"array\",\n            start: 490,\n            end: 495,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 496,\n            end: 499,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"colors\",\n            start: 500,\n            end: 506,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    red \\\"#FF0000\\\"\\r\\n    green \\\"#00FF00\\\"\\r\\n    blue \\\"#0000FF\\\"\\r\\n    yellow \\\"#FFFF00\\\"\\r\\n}\",\n            start: 507,\n            end: 593,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 622,\n            end: 625,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"config\",\n            start: 626,\n            end: 632,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 633,\n            end: 634,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"dict\",\n            start: 634,\n            end: 638,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"create\",\n            start: 639,\n            end: 645,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"host\",\n            start: 653,\n            end: 657,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"localhost\\\"\",\n            start: 658,\n            end: 669,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"port\",\n            start: 677,\n            end: 681,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"8080\",\n            start: 682,\n            end: 686,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"timeout\",\n            start: 694,\n            end: 701,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"30\",\n            start: 702,\n            end: 704,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ssl_enabled\",\n            start: 712,\n            end: 723,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 724,\n            end: 728,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"max_connections\",\n            start: 736,\n            end: 751,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"100\",\n            start: 752,\n            end: 755,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 755,\n            end: 756,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 786,\n            end: 790,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"greet\",\n            start: 791,\n            end: 796,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{name}\",\n            start: 797,\n            end: 803,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return \\\"Hello, $name!\\\"\\r\\n}\",\n            start: 804,\n            end: 836,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 840,\n            end: 844,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add\",\n            start: 845,\n            end: 848,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{a b}\",\n            start: 849,\n            end: 854,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return [expr {$a + $b}]\\r\\n}\",\n            start: 855,\n            end: 888,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 892,\n            end: 896,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"multiply\",\n            start: 897,\n            end: 905,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{a b}\",\n            start: 906,\n            end: 911,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return [expr {$a * $b}]\\r\\n}\",\n            start: 912,\n            end: 945,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 949,\n            end: 953,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"factorial\",\n            start: 954,\n            end: 963,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{n}\",\n            start: 964,\n            end: 967,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    if {$n <= 1} {\\r\\n        return 1\\r\\n    } else {\\r\\n        return [expr {$n * [factorial [expr {$n - 1}]]}]\\r\\n    }\\r\\n}\",\n            start: 968,\n            end: 1089,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 1093,\n            end: 1097,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fibonacci\",\n            start: 1098,\n            end: 1107,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{n}\",\n            start: 1108,\n            end: 1111,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    if {$n <= 1} {\\r\\n        return $n\\r\\n    } else {\\r\\n        return [expr {[fibonacci [expr {$n - 1}]] + [fibonacci [expr {$n - 2}]]}]\\r\\n    }\\r\\n}\",\n            start: 1112,\n            end: 1259,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 1263,\n            end: 1267,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sum_list\",\n            start: 1268,\n            end: 1276,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{lst}\",\n            start: 1277,\n            end: 1282,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set total 0\\r\\n    foreach item $lst {\\r\\n        set total [expr {$total + $item}]\\r\\n    }\\r\\n    return $total\\r\\n}\",\n            start: 1283,\n            end: 1398,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 1402,\n            end: 1406,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"find_max\",\n            start: 1407,\n            end: 1415,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{lst}\",\n            start: 1416,\n            end: 1421,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set max [lindex $lst 0]\\r\\n    foreach item $lst {\\r\\n        if {$item > $max} {\\r\\n            set max $item\\r\\n        }\\r\\n    }\\r\\n    return $max\\r\\n}\",\n            start: 1422,\n            end: 1571,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 1575,\n            end: 1579,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"is_prime\",\n            start: 1580,\n            end: 1588,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{n}\",\n            start: 1589,\n            end: 1592,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    if {$n < 2} {\\r\\n        return 0\\r\\n    }\\r\\n    if {$n == 2} {\\r\\n        return 1\\r\\n    }\\r\\n    if {$n % 2 == 0} {\\r\\n        return 0\\r\\n    }\\r\\n    for {set i 3} {$i * $i <= $n} {incr i 2} {\\r\\n        if {$n % $i == 0} {\\r\\n            return 0\\r\\n        }\\r\\n    }\\r\\n    return 1\\r\\n}\",\n            start: 1593,\n            end: 1866,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 1870,\n            end: 1874,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"reverse_string\",\n            start: 1875,\n            end: 1889,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{str}\",\n            start: 1890,\n            end: 1895,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set result \\\"\\\"\\r\\n    for {set i [expr {[string length $str] - 1}]} {$i >= 0} {incr i -1} {\\r\\n        append result [string index $str $i]\\r\\n    }\\r\\n    return $result\\r\\n}\",\n            start: 1896,\n            end: 2067,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 2071,\n            end: 2075,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"count_words\",\n            start: 2076,\n            end: 2087,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{text}\",\n            start: 2088,\n            end: 2094,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return [llength [split $text]]\\r\\n}\",\n            start: 2095,\n            end: 2135,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 2176,\n            end: 2180,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"print_all\",\n            start: 2181,\n            end: 2190,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{args}\",\n            start: 2191,\n            end: 2197,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    foreach arg $args {\\r\\n        puts $arg\\r\\n    }\\r\\n}\",\n            start: 2198,\n            end: 2253,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 2294,\n            end: 2298,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"connect_db\",\n            start: 2299,\n            end: 2309,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{host {port 5432} {database \\\"mydb\\\"}}\",\n            start: 2310,\n            end: 2346,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"Connecting to $host:$port/$database\\\"\\r\\n}\",\n            start: 2347,\n            end: 2399,\n        },\n    ],\n    errors: [],\n}", actual: "LexerTestExpected {\n    success: true,\n    count: 1221,\n    tokens: [\n        TokenData {\n            kind: \"Comment\",\n            text: \"#!/usr/bin/env tclsh\\r\",\n            start: 0,\n            end: 21,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 21,\n            end: 22,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# TCL test file for lexer testing\\r\",\n            start: 22,\n            end: 56,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 56,\n            end: 57,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 57,\n            end: 59,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Basic variables and data types\\r\",\n            start: 59,\n            end: 92,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 92,\n            end: 93,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 93,\n            end: 96,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 96,\n            end: 97,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 97,\n            end: 101,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 101,\n            end: 102,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"John Doe\\\"\",\n            start: 102,\n            end: 112,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 112,\n            end: 114,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 114,\n            end: 117,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 117,\n            end: 118,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 118,\n            end: 121,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 121,\n            end: 122,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"30\",\n            start: 122,\n            end: 124,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 124,\n            end: 126,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 126,\n            end: 129,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 129,\n            end: 130,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"height\",\n            start: 130,\n            end: 136,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 136,\n            end: 137,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"5\",\n            start: 137,\n            end: 138,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"9\",\n            start: 139,\n            end: 140,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 140,\n            end: 142,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 142,\n            end: 145,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 145,\n            end: 146,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"is_student\",\n            start: 146,\n            end: 156,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 156,\n            end: 157,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 157,\n            end: 161,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 161,\n            end: 163,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 163,\n            end: 166,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 166,\n            end: 167,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"empty_var\",\n            start: 167,\n            end: 176,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 176,\n            end: 177,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"\\\"\",\n            start: 177,\n            end: 179,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 179,\n            end: 181,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 181,\n            end: 183,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Lists\\r\",\n            start: 183,\n            end: 191,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 191,\n            end: 192,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 192,\n            end: 195,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 195,\n            end: 196,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fruits\",\n            start: 196,\n            end: 202,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 202,\n            end: 203,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{apple banana cherry date elderberry}\",\n            start: 203,\n            end: 240,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 240,\n            end: 242,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 242,\n            end: 245,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 245,\n            end: 246,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"numbers\",\n            start: 246,\n            end: 253,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 253,\n            end: 254,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{1 2 3 4 5}\",\n            start: 254,\n            end: 265,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 265,\n            end: 267,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 267,\n            end: 270,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 270,\n            end: 271,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"mixed_list\",\n            start: 271,\n            end: 281,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 281,\n            end: 282,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{hello 42 3.14 world}\",\n            start: 282,\n            end: 303,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 303,\n            end: 305,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 305,\n            end: 308,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 308,\n            end: 309,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"nested_list\",\n            start: 309,\n            end: 320,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 320,\n            end: 321,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{{a b c} {1 2 3} {x y z}}\",\n            start: 321,\n            end: 346,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 346,\n            end: 348,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 348,\n            end: 350,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Arrays (associative arrays)\\r\",\n            start: 350,\n            end: 380,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 380,\n            end: 381,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"array\",\n            start: 381,\n            end: 386,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 386,\n            end: 387,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 387,\n            end: 390,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 390,\n            end: 391,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"person\",\n            start: 391,\n            end: 397,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 397,\n            end: 398,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    name \\\"Alice Smith\\\"\\r\\n    age 25\\r\\n    city \\\"New York\\\"\\r\\n    occupation \\\"Engineer\\\"\\r\\n}\",\n            start: 398,\n            end: 486,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 486,\n            end: 488,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 488,\n            end: 490,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"array\",\n            start: 490,\n            end: 495,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 495,\n            end: 496,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 496,\n            end: 499,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 499,\n            end: 500,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"colors\",\n            start: 500,\n            end: 506,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 506,\n            end: 507,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    red \\\"#FF0000\\\"\\r\\n    green \\\"#00FF00\\\"\\r\\n    blue \\\"#0000FF\\\"\\r\\n    yellow \\\"#FFFF00\\\"\\r\\n}\",\n            start: 507,\n            end: 593,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 593,\n            end: 595,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 595,\n            end: 597,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Dictionary (Tcl 8.5+)\\r\",\n            start: 597,\n            end: 621,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 621,\n            end: 622,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 622,\n            end: 625,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 625,\n            end: 626,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"config\",\n            start: 626,\n            end: 632,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 632,\n            end: 633,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 633,\n            end: 634,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"dict\",\n            start: 634,\n            end: 638,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 638,\n            end: 639,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"create\",\n            start: 639,\n            end: 645,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 645,\n            end: 646,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 647,\n            end: 649,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 649,\n            end: 653,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"host\",\n            start: 653,\n            end: 657,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 657,\n            end: 658,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"localhost\\\"\",\n            start: 658,\n            end: 669,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 669,\n            end: 670,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 671,\n            end: 673,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 673,\n            end: 677,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"port\",\n            start: 677,\n            end: 681,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 681,\n            end: 682,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"8080\",\n            start: 682,\n            end: 686,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 686,\n            end: 687,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 688,\n            end: 690,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 690,\n            end: 694,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"timeout\",\n            start: 694,\n            end: 701,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 701,\n            end: 702,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"30\",\n            start: 702,\n            end: 704,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 704,\n            end: 705,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 706,\n            end: 708,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 708,\n            end: 712,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"ssl_enabled\",\n            start: 712,\n            end: 723,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 723,\n            end: 724,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 724,\n            end: 728,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 728,\n            end: 729,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 730,\n            end: 732,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \"    \",\n            start: 732,\n            end: 736,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"max_connections\",\n            start: 736,\n            end: 751,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 751,\n            end: 752,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"100\",\n            start: 752,\n            end: 755,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 755,\n            end: 756,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 756,\n            end: 758,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 758,\n            end: 760,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Procedures (functions)\\r\",\n            start: 760,\n            end: 785,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 785,\n            end: 786,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 786,\n            end: 790,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 790,\n            end: 791,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"greet\",\n            start: 791,\n            end: 796,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 796,\n            end: 797,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{name}\",\n            start: 797,\n            end: 803,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 803,\n            end: 804,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return \\\"Hello, $name!\\\"\\r\\n}\",\n            start: 804,\n            end: 836,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 836,\n            end: 838,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 838,\n            end: 840,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 840,\n            end: 844,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 844,\n            end: 845,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"add\",\n            start: 845,\n            end: 848,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 848,\n            end: 849,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{a b}\",\n            start: 849,\n            end: 854,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 854,\n            end: 855,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return [expr {$a + $b}]\\r\\n}\",\n            start: 855,\n            end: 888,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 888,\n            end: 890,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 890,\n            end: 892,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 892,\n            end: 896,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 896,\n            end: 897,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"multiply\",\n            start: 897,\n            end: 905,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 905,\n            end: 906,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{a b}\",\n            start: 906,\n            end: 911,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 911,\n            end: 912,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return [expr {$a * $b}]\\r\\n}\",\n            start: 912,\n            end: 945,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 945,\n            end: 947,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 947,\n            end: 949,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 949,\n            end: 953,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 953,\n            end: 954,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"factorial\",\n            start: 954,\n            end: 963,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 963,\n            end: 964,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{n}\",\n            start: 964,\n            end: 967,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 967,\n            end: 968,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    if {$n <= 1} {\\r\\n        return 1\\r\\n    } else {\\r\\n        return [expr {$n * [factorial [expr {$n - 1}]]}]\\r\\n    }\\r\\n}\",\n            start: 968,\n            end: 1089,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1089,\n            end: 1091,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1091,\n            end: 1093,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 1093,\n            end: 1097,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1097,\n            end: 1098,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fibonacci\",\n            start: 1098,\n            end: 1107,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1107,\n            end: 1108,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{n}\",\n            start: 1108,\n            end: 1111,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1111,\n            end: 1112,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    if {$n <= 1} {\\r\\n        return $n\\r\\n    } else {\\r\\n        return [expr {[fibonacci [expr {$n - 1}]] + [fibonacci [expr {$n - 2}]]}]\\r\\n    }\\r\\n}\",\n            start: 1112,\n            end: 1259,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1259,\n            end: 1261,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1261,\n            end: 1263,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 1263,\n            end: 1267,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1267,\n            end: 1268,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sum_list\",\n            start: 1268,\n            end: 1276,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1276,\n            end: 1277,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{lst}\",\n            start: 1277,\n            end: 1282,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1282,\n            end: 1283,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set total 0\\r\\n    foreach item $lst {\\r\\n        set total [expr {$total + $item}]\\r\\n    }\\r\\n    return $total\\r\\n}\",\n            start: 1283,\n            end: 1398,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1398,\n            end: 1400,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1400,\n            end: 1402,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 1402,\n            end: 1406,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1406,\n            end: 1407,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"find_max\",\n            start: 1407,\n            end: 1415,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1415,\n            end: 1416,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{lst}\",\n            start: 1416,\n            end: 1421,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1421,\n            end: 1422,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set max [lindex $lst 0]\\r\\n    foreach item $lst {\\r\\n        if {$item > $max} {\\r\\n            set max $item\\r\\n        }\\r\\n    }\\r\\n    return $max\\r\\n}\",\n            start: 1422,\n            end: 1571,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1571,\n            end: 1573,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1573,\n            end: 1575,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 1575,\n            end: 1579,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1579,\n            end: 1580,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"is_prime\",\n            start: 1580,\n            end: 1588,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1588,\n            end: 1589,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{n}\",\n            start: 1589,\n            end: 1592,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1592,\n            end: 1593,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    if {$n < 2} {\\r\\n        return 0\\r\\n    }\\r\\n    if {$n == 2} {\\r\\n        return 1\\r\\n    }\\r\\n    if {$n % 2 == 0} {\\r\\n        return 0\\r\\n    }\\r\\n    for {set i 3} {$i * $i <= $n} {incr i 2} {\\r\\n        if {$n % $i == 0} {\\r\\n            return 0\\r\\n        }\\r\\n    }\\r\\n    return 1\\r\\n}\",\n            start: 1593,\n            end: 1866,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1866,\n            end: 1868,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 1868,\n            end: 1870,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 1870,\n            end: 1874,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1874,\n            end: 1875,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"reverse_string\",\n            start: 1875,\n            end: 1889,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1889,\n            end: 1890,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{str}\",\n            start: 1890,\n            end: 1895,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 1895,\n            end: 1896,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set result \\\"\\\"\\r\\n    for {set i [expr {[string length $str] - 1}]} {$i >= 0} {incr i -1} {\\r\\n        append result [string index $str $i]\\r\\n    }\\r\\n    return $result\\r\\n}\",\n            start: 1896,\n            end: 2067,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2067,\n            end: 2069,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2069,\n            end: 2071,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 2071,\n            end: 2075,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2075,\n            end: 2076,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"count_words\",\n            start: 2076,\n            end: 2087,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2087,\n            end: 2088,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{text}\",\n            start: 2088,\n            end: 2094,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2094,\n            end: 2095,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return [llength [split $text]]\\r\\n}\",\n            start: 2095,\n            end: 2135,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2135,\n            end: 2137,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2137,\n            end: 2139,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Procedure with variable arguments\\r\",\n            start: 2139,\n            end: 2175,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 2175,\n            end: 2176,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 2176,\n            end: 2180,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2180,\n            end: 2181,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"print_all\",\n            start: 2181,\n            end: 2190,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2190,\n            end: 2191,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{args}\",\n            start: 2191,\n            end: 2197,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2197,\n            end: 2198,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    foreach arg $args {\\r\\n        puts $arg\\r\\n    }\\r\\n}\",\n            start: 2198,\n            end: 2253,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2253,\n            end: 2255,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2255,\n            end: 2257,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Procedure with optional arguments\\r\",\n            start: 2257,\n            end: 2293,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 2293,\n            end: 2294,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 2294,\n            end: 2298,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2298,\n            end: 2299,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"connect_db\",\n            start: 2299,\n            end: 2309,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2309,\n            end: 2310,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{host {port 5432} {database \\\"mydb\\\"}}\",\n            start: 2310,\n            end: 2346,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2346,\n            end: 2347,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"Connecting to $host:$port/$database\\\"\\r\\n}\",\n            start: 2347,\n            end: 2399,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2399,\n            end: 2401,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2401,\n            end: 2403,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Procedure with upvar (reference parameters)\\r\",\n            start: 2403,\n            end: 2449,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 2449,\n            end: 2450,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 2450,\n            end: 2454,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2454,\n            end: 2455,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"increment\",\n            start: 2455,\n            end: 2464,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2464,\n            end: 2465,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{varname}\",\n            start: 2465,\n            end: 2474,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2474,\n            end: 2475,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    upvar $varname var\\r\\n    incr var\\r\\n}\",\n            start: 2475,\n            end: 2517,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2517,\n            end: 2519,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2519,\n            end: 2521,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Procedure with global variables\\r\",\n            start: 2521,\n            end: 2555,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 2555,\n            end: 2556,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 2556,\n            end: 2559,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2559,\n            end: 2560,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"global_counter\",\n            start: 2560,\n            end: 2574,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2574,\n            end: 2575,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"0\",\n            start: 2575,\n            end: 2576,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2576,\n            end: 2578,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2578,\n            end: 2580,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 2580,\n            end: 2584,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2584,\n            end: 2585,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"increment_global\",\n            start: 2585,\n            end: 2601,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2601,\n            end: 2602,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{}\",\n            start: 2602,\n            end: 2604,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2604,\n            end: 2605,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    global global_counter\\r\\n    incr global_counter\\r\\n}\",\n            start: 2605,\n            end: 2661,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2661,\n            end: 2663,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2663,\n            end: 2665,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Control structures\\r\",\n            start: 2665,\n            end: 2686,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 2686,\n            end: 2687,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# If-else statements\\r\",\n            start: 2687,\n            end: 2708,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 2708,\n            end: 2709,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 2709,\n            end: 2712,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2712,\n            end: 2713,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"score\",\n            start: 2713,\n            end: 2718,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2718,\n            end: 2719,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"85\",\n            start: 2719,\n            end: 2721,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2721,\n            end: 2723,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 2723,\n            end: 2725,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2725,\n            end: 2726,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{$score >= 90}\",\n            start: 2726,\n            end: 2740,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2740,\n            end: 2741,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set grade \\\"A\\\"\\r\\n}\",\n            start: 2741,\n            end: 2764,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2764,\n            end: 2765,\n        },\n        TokenData {\n            kind: \"ElseIf\",\n            text: \"elseif\",\n            start: 2765,\n            end: 2771,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2771,\n            end: 2772,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{$score >= 80}\",\n            start: 2772,\n            end: 2786,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2786,\n            end: 2787,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set grade \\\"B\\\"\\r\\n}\",\n            start: 2787,\n            end: 2810,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2810,\n            end: 2811,\n        },\n        TokenData {\n            kind: \"ElseIf\",\n            text: \"elseif\",\n            start: 2811,\n            end: 2817,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2817,\n            end: 2818,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{$score >= 70}\",\n            start: 2818,\n            end: 2832,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2832,\n            end: 2833,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set grade \\\"C\\\"\\r\\n}\",\n            start: 2833,\n            end: 2856,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2856,\n            end: 2857,\n        },\n        TokenData {\n            kind: \"ElseIf\",\n            text: \"elseif\",\n            start: 2857,\n            end: 2863,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2863,\n            end: 2864,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{$score >= 60}\",\n            start: 2864,\n            end: 2878,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2878,\n            end: 2879,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set grade \\\"D\\\"\\r\\n}\",\n            start: 2879,\n            end: 2902,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2902,\n            end: 2903,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 2903,\n            end: 2907,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2907,\n            end: 2908,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set grade \\\"F\\\"\\r\\n}\",\n            start: 2908,\n            end: 2931,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2931,\n            end: 2933,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2933,\n            end: 2935,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Switch statement\\r\",\n            start: 2935,\n            end: 2954,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 2954,\n            end: 2955,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 2955,\n            end: 2958,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2958,\n            end: 2959,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"day\",\n            start: 2959,\n            end: 2962,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2962,\n            end: 2963,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Monday\\\"\",\n            start: 2963,\n            end: 2971,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 2971,\n            end: 2973,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"switch\",\n            start: 2973,\n            end: 2979,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2979,\n            end: 2980,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 2980,\n            end: 2981,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"day\",\n            start: 2981,\n            end: 2984,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 2984,\n            end: 2985,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    \\\"Monday\\\" {\\r\\n        set mood \\\"Tired\\\"\\r\\n    }\\r\\n    \\\"Tuesday\\\" {\\r\\n        set mood \\\"Getting better\\\"\\r\\n    }\\r\\n    \\\"Wednesday\\\" {\\r\\n        set mood \\\"Hump day\\\"\\r\\n    }\\r\\n    \\\"Thursday\\\" {\\r\\n        set mood \\\"Almost there\\\"\\r\\n    }\\r\\n    \\\"Friday\\\" {\\r\\n        set mood \\\"TGIF!\\\"\\r\\n    }\\r\\n    \\\"Saturday\\\" -\\r\\n    \\\"Sunday\\\" {\\r\\n        set mood \\\"Weekend!\\\"\\r\\n    }\\r\\n    default {\\r\\n        set mood \\\"Unknown day\\\"\\r\\n    }\\r\\n}\",\n            start: 2985,\n            end: 3383,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3383,\n            end: 3385,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3385,\n            end: 3387,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# For loops\\r\",\n            start: 3387,\n            end: 3399,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 3399,\n            end: 3400,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 3400,\n            end: 3404,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3404,\n            end: 3405,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Counting from 1 to 10:\\\"\",\n            start: 3405,\n            end: 3429,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3429,\n            end: 3431,\n        },\n        TokenData {\n            kind: \"For\",\n            text: \"for\",\n            start: 3431,\n            end: 3434,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3434,\n            end: 3435,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{set i 1}\",\n            start: 3435,\n            end: 3444,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3444,\n            end: 3445,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{$i <= 10}\",\n            start: 3445,\n            end: 3455,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3455,\n            end: 3456,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{incr i}\",\n            start: 3456,\n            end: 3464,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3464,\n            end: 3465,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts $i\\r\\n}\",\n            start: 3465,\n            end: 3482,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3482,\n            end: 3484,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3484,\n            end: 3486,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 3486,\n            end: 3490,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3490,\n            end: 3491,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Counting down from 10 to 1:\\\"\",\n            start: 3491,\n            end: 3520,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3520,\n            end: 3522,\n        },\n        TokenData {\n            kind: \"For\",\n            text: \"for\",\n            start: 3522,\n            end: 3525,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3525,\n            end: 3526,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{set i 10}\",\n            start: 3526,\n            end: 3536,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3536,\n            end: 3537,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{$i >= 1}\",\n            start: 3537,\n            end: 3546,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3546,\n            end: 3547,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{incr i -1}\",\n            start: 3547,\n            end: 3558,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3558,\n            end: 3559,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts $i\\r\\n}\",\n            start: 3559,\n            end: 3576,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3576,\n            end: 3578,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3578,\n            end: 3580,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# While loop\\r\",\n            start: 3580,\n            end: 3593,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 3593,\n            end: 3594,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 3594,\n            end: 3597,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3597,\n            end: 3598,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"count\",\n            start: 3598,\n            end: 3603,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3603,\n            end: 3604,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"0\",\n            start: 3604,\n            end: 3605,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3605,\n            end: 3607,\n        },\n        TokenData {\n            kind: \"While\",\n            text: \"while\",\n            start: 3607,\n            end: 3612,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3612,\n            end: 3613,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{$count < 5}\",\n            start: 3613,\n            end: 3625,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3625,\n            end: 3626,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"Count: $count\\\"\\r\\n    incr count\\r\\n}\",\n            start: 3626,\n            end: 3672,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3672,\n            end: 3674,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3674,\n            end: 3676,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Foreach loop\\r\",\n            start: 3676,\n            end: 3691,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 3691,\n            end: 3692,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 3692,\n            end: 3696,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3696,\n            end: 3697,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Fruits:\\\"\",\n            start: 3697,\n            end: 3706,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3706,\n            end: 3708,\n        },\n        TokenData {\n            kind: \"ForEach\",\n            text: \"foreach\",\n            start: 3708,\n            end: 3715,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3715,\n            end: 3716,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fruit\",\n            start: 3716,\n            end: 3721,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3721,\n            end: 3722,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 3722,\n            end: 3723,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fruits\",\n            start: 3723,\n            end: 3729,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3729,\n            end: 3730,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"- $fruit\\\"\\r\\n}\",\n            start: 3730,\n            end: 3755,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3755,\n            end: 3757,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3757,\n            end: 3759,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 3759,\n            end: 3763,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3763,\n            end: 3764,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Numbers and their squares:\\\"\",\n            start: 3764,\n            end: 3792,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3792,\n            end: 3794,\n        },\n        TokenData {\n            kind: \"ForEach\",\n            text: \"foreach\",\n            start: 3794,\n            end: 3801,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3801,\n            end: 3802,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"num\",\n            start: 3802,\n            end: 3805,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3805,\n            end: 3806,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 3806,\n            end: 3807,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"numbers\",\n            start: 3807,\n            end: 3814,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3814,\n            end: 3815,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"$num squared is [expr {$num * $num}]\\\"\\r\\n}\",\n            start: 3815,\n            end: 3868,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3868,\n            end: 3870,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3870,\n            end: 3872,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Foreach with multiple variables\\r\",\n            start: 3872,\n            end: 3906,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 3906,\n            end: 3907,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 3907,\n            end: 3910,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3910,\n            end: 3911,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"pairs\",\n            start: 3911,\n            end: 3916,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3916,\n            end: 3917,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{{name Alice} {age 25} {city \\\"New York\\\"}}\",\n            start: 3917,\n            end: 3958,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 3958,\n            end: 3960,\n        },\n        TokenData {\n            kind: \"ForEach\",\n            text: \"foreach\",\n            start: 3960,\n            end: 3967,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3967,\n            end: 3968,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{key value}\",\n            start: 3968,\n            end: 3979,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3979,\n            end: 3980,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 3980,\n            end: 3981,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"pairs\",\n            start: 3981,\n            end: 3986,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 3986,\n            end: 3987,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"$key: $value\\\"\\r\\n}\",\n            start: 3987,\n            end: 4016,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4016,\n            end: 4018,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4018,\n            end: 4020,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Array iteration\\r\",\n            start: 4020,\n            end: 4038,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 4038,\n            end: 4039,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 4039,\n            end: 4043,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4043,\n            end: 4044,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Person information:\\\"\",\n            start: 4044,\n            end: 4065,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4065,\n            end: 4067,\n        },\n        TokenData {\n            kind: \"ForEach\",\n            text: \"foreach\",\n            start: 4067,\n            end: 4074,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4074,\n            end: 4075,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{key value}\",\n            start: 4075,\n            end: 4086,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4086,\n            end: 4087,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 4087,\n            end: 4088,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"array\",\n            start: 4088,\n            end: 4093,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4093,\n            end: 4094,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get\",\n            start: 4094,\n            end: 4097,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4097,\n            end: 4098,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"person\",\n            start: 4098,\n            end: 4104,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 4104,\n            end: 4105,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4105,\n            end: 4106,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"$key: $value\\\"\\r\\n}\",\n            start: 4106,\n            end: 4135,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4135,\n            end: 4137,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4137,\n            end: 4139,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# String operations\\r\",\n            start: 4139,\n            end: 4159,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 4159,\n            end: 4160,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 4160,\n            end: 4163,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4163,\n            end: 4164,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"text\",\n            start: 4164,\n            end: 4168,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4168,\n            end: 4169,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Hello, World!\\\"\",\n            start: 4169,\n            end: 4184,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4184,\n            end: 4186,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 4186,\n            end: 4190,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4190,\n            end: 4191,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Original: $text\\\"\",\n            start: 4191,\n            end: 4208,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4208,\n            end: 4210,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 4210,\n            end: 4214,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4214,\n            end: 4215,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Length: [string length $text]\\\"\",\n            start: 4215,\n            end: 4246,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4246,\n            end: 4248,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 4248,\n            end: 4252,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4252,\n            end: 4253,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Uppercase: [string toupper $text]\\\"\",\n            start: 4253,\n            end: 4288,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4288,\n            end: 4290,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 4290,\n            end: 4294,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4294,\n            end: 4295,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Lowercase: [string tolower $text]\\\"\",\n            start: 4295,\n            end: 4330,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4330,\n            end: 4332,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 4332,\n            end: 4336,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4336,\n            end: 4337,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"First 5 chars: [string range $text 0 4]\\\"\",\n            start: 4337,\n            end: 4378,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4378,\n            end: 4380,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 4380,\n            end: 4384,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4384,\n            end: 4385,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Last 6 chars: [string range $text end-5 end]\\\"\",\n            start: 4385,\n            end: 4431,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4431,\n            end: 4433,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 4433,\n            end: 4437,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4437,\n            end: 4438,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Index of 'World': [string first \\\"\",\n            start: 4438,\n            end: 4472,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"World\",\n            start: 4472,\n            end: 4477,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\" $text]\\\"\",\n            start: 4477,\n            end: 4486,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4486,\n            end: 4488,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 4488,\n            end: 4492,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4492,\n            end: 4493,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Replace 'World' with 'TCL': [string map {\\\"\",\n            start: 4493,\n            end: 4536,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"World\",\n            start: 4536,\n            end: 4541,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\" \\\"\",\n            start: 4541,\n            end: 4544,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"TCL\",\n            start: 4544,\n            end: 4547,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"} $text]\\\"\",\n            start: 4547,\n            end: 4557,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4557,\n            end: 4559,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4559,\n            end: 4561,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Regular expressions\\r\",\n            start: 4561,\n            end: 4583,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 4583,\n            end: 4584,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 4584,\n            end: 4587,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4587,\n            end: 4588,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 4588,\n            end: 4593,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4593,\n            end: 4594,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"user@example.com\\\"\",\n            start: 4594,\n            end: 4612,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4612,\n            end: 4614,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 4614,\n            end: 4616,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4616,\n            end: 4617,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{[regexp {^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$} $email]}\",\n            start: 4617,\n            end: 4685,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4685,\n            end: 4686,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"$email is a valid email address\\\"\\r\\n}\",\n            start: 4686,\n            end: 4734,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4734,\n            end: 4735,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 4735,\n            end: 4739,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4739,\n            end: 4740,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"$email is not a valid email address\\\"\\r\\n}\",\n            start: 4740,\n            end: 4792,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4792,\n            end: 4794,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4794,\n            end: 4796,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Extract parts using regexp\\r\",\n            start: 4796,\n            end: 4825,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 4825,\n            end: 4826,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 4826,\n            end: 4829,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4829,\n            end: 4830,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"phone\",\n            start: 4830,\n            end: 4835,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4835,\n            end: 4836,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"123-456-7890\\\"\",\n            start: 4836,\n            end: 4850,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 4850,\n            end: 4852,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 4852,\n            end: 4854,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4854,\n            end: 4855,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{[regexp {(\\\\d{3})-(\\\\d{3})-(\\\\d{4})} $phone match area exchange number]}\",\n            start: 4855,\n            end: 4925,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 4925,\n            end: 4926,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"Area code: $area\\\"\\r\\n    puts \\\"Exchange: $exchange\\\"\\r\\n    puts \\\"Number: $number\\\"\\r\\n}\",\n            start: 4926,\n            end: 5019,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5019,\n            end: 5021,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5021,\n            end: 5023,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# List operations\\r\",\n            start: 5023,\n            end: 5041,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 5041,\n            end: 5042,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 5042,\n            end: 5045,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5045,\n            end: 5046,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"original_list\",\n            start: 5046,\n            end: 5059,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5059,\n            end: 5060,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{1 2 3 4 5}\",\n            start: 5060,\n            end: 5071,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5071,\n            end: 5073,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5073,\n            end: 5077,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5077,\n            end: 5078,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Original list: $original_list\\\"\",\n            start: 5078,\n            end: 5109,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5109,\n            end: 5111,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5111,\n            end: 5115,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5115,\n            end: 5116,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Length: [llength $original_list]\\\"\",\n            start: 5116,\n            end: 5150,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5150,\n            end: 5152,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5152,\n            end: 5156,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5156,\n            end: 5157,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"First element: [lindex $original_list 0]\\\"\",\n            start: 5157,\n            end: 5199,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5199,\n            end: 5201,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5201,\n            end: 5205,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5205,\n            end: 5206,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Last element: [lindex $original_list end]\\\"\",\n            start: 5206,\n            end: 5249,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5249,\n            end: 5251,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5251,\n            end: 5255,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5255,\n            end: 5256,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Range 1-3: [lrange $original_list 1 3]\\\"\",\n            start: 5256,\n            end: 5296,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5296,\n            end: 5298,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5298,\n            end: 5300,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Append to list\\r\",\n            start: 5300,\n            end: 5317,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 5317,\n            end: 5318,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"lappend\",\n            start: 5318,\n            end: 5325,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5325,\n            end: 5326,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"original_list\",\n            start: 5326,\n            end: 5339,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5339,\n            end: 5340,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"6\",\n            start: 5340,\n            end: 5341,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5341,\n            end: 5342,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"7\",\n            start: 5342,\n            end: 5343,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5343,\n            end: 5344,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"8\",\n            start: 5344,\n            end: 5345,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5345,\n            end: 5347,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5347,\n            end: 5351,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5351,\n            end: 5352,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"After append: $original_list\\\"\",\n            start: 5352,\n            end: 5382,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5382,\n            end: 5384,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5384,\n            end: 5386,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Insert into list\\r\",\n            start: 5386,\n            end: 5405,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 5405,\n            end: 5406,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 5406,\n            end: 5409,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5409,\n            end: 5410,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"original_list\",\n            start: 5410,\n            end: 5423,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5423,\n            end: 5424,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 5424,\n            end: 5425,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"linsert\",\n            start: 5425,\n            end: 5432,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5432,\n            end: 5433,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 5433,\n            end: 5434,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"original_list\",\n            start: 5434,\n            end: 5447,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5447,\n            end: 5448,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"0\",\n            start: 5448,\n            end: 5449,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5449,\n            end: 5450,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"0\",\n            start: 5450,\n            end: 5451,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 5451,\n            end: 5452,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5452,\n            end: 5454,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5454,\n            end: 5458,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5458,\n            end: 5459,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"After insert at beginning: $original_list\\\"\",\n            start: 5459,\n            end: 5502,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5502,\n            end: 5504,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5504,\n            end: 5506,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Replace in list\\r\",\n            start: 5506,\n            end: 5524,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 5524,\n            end: 5525,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 5525,\n            end: 5528,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5528,\n            end: 5529,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"original_list\",\n            start: 5529,\n            end: 5542,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5542,\n            end: 5543,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 5543,\n            end: 5544,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"lreplace\",\n            start: 5544,\n            end: 5552,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5552,\n            end: 5553,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 5553,\n            end: 5554,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"original_list\",\n            start: 5554,\n            end: 5567,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5567,\n            end: 5568,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"2\",\n            start: 5568,\n            end: 5569,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5569,\n            end: 5570,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"2\",\n            start: 5570,\n            end: 5571,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5571,\n            end: 5572,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"THREE\\\"\",\n            start: 5572,\n            end: 5579,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 5579,\n            end: 5580,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5580,\n            end: 5582,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5582,\n            end: 5586,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5586,\n            end: 5587,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"After replace: $original_list\\\"\",\n            start: 5587,\n            end: 5618,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5618,\n            end: 5620,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5620,\n            end: 5622,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Sort list\\r\",\n            start: 5622,\n            end: 5634,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 5634,\n            end: 5635,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 5635,\n            end: 5638,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5638,\n            end: 5639,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"unsorted\",\n            start: 5639,\n            end: 5647,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5647,\n            end: 5648,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{banana apple cherry date}\",\n            start: 5648,\n            end: 5674,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5674,\n            end: 5676,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 5676,\n            end: 5679,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5679,\n            end: 5680,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sorted\",\n            start: 5680,\n            end: 5686,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5686,\n            end: 5687,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 5687,\n            end: 5688,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"lsort\",\n            start: 5688,\n            end: 5693,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5693,\n            end: 5694,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 5694,\n            end: 5695,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"unsorted\",\n            start: 5695,\n            end: 5703,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 5703,\n            end: 5704,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5704,\n            end: 5706,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5706,\n            end: 5710,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5710,\n            end: 5711,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Unsorted: $unsorted\\\"\",\n            start: 5711,\n            end: 5732,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5732,\n            end: 5734,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5734,\n            end: 5738,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5738,\n            end: 5739,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Sorted: $sorted\\\"\",\n            start: 5739,\n            end: 5756,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5756,\n            end: 5758,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5758,\n            end: 5760,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Sort numerically\\r\",\n            start: 5760,\n            end: 5779,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 5779,\n            end: 5780,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 5780,\n            end: 5783,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5783,\n            end: 5784,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"numbers_unsorted\",\n            start: 5784,\n            end: 5800,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5800,\n            end: 5801,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{10 2 30 4 5}\",\n            start: 5801,\n            end: 5814,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5814,\n            end: 5816,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 5816,\n            end: 5819,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5819,\n            end: 5820,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"numbers_sorted\",\n            start: 5820,\n            end: 5834,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5834,\n            end: 5835,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 5835,\n            end: 5836,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"lsort\",\n            start: 5836,\n            end: 5841,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5841,\n            end: 5842,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 5842,\n            end: 5843,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"integer\",\n            start: 5843,\n            end: 5850,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5850,\n            end: 5851,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 5851,\n            end: 5852,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"numbers_unsorted\",\n            start: 5852,\n            end: 5868,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 5868,\n            end: 5869,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5869,\n            end: 5871,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5871,\n            end: 5875,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5875,\n            end: 5876,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Numbers unsorted: $numbers_unsorted\\\"\",\n            start: 5876,\n            end: 5913,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5913,\n            end: 5915,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5915,\n            end: 5919,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5919,\n            end: 5920,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Numbers sorted: $numbers_sorted\\\"\",\n            start: 5920,\n            end: 5953,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5953,\n            end: 5955,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 5955,\n            end: 5957,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Dictionary operations (Tcl 8.5+)\\r\",\n            start: 5957,\n            end: 5992,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 5992,\n            end: 5993,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 5993,\n            end: 5997,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 5997,\n            end: 5998,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Configuration:\\\"\",\n            start: 5998,\n            end: 6014,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6014,\n            end: 6016,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"dict\",\n            start: 6016,\n            end: 6020,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6020,\n            end: 6021,\n        },\n        TokenData {\n            kind: \"For\",\n            text: \"for\",\n            start: 6021,\n            end: 6024,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6024,\n            end: 6025,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{key value}\",\n            start: 6025,\n            end: 6036,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6036,\n            end: 6037,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 6037,\n            end: 6038,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"config\",\n            start: 6038,\n            end: 6044,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6044,\n            end: 6045,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"$key: $value\\\"\\r\\n}\",\n            start: 6045,\n            end: 6074,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6074,\n            end: 6076,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6076,\n            end: 6078,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Add to dictionary\\r\",\n            start: 6078,\n            end: 6098,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 6098,\n            end: 6099,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"dict\",\n            start: 6099,\n            end: 6103,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6103,\n            end: 6104,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 6104,\n            end: 6107,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6107,\n            end: 6108,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"config\",\n            start: 6108,\n            end: 6114,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6114,\n            end: 6115,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"debug_mode\",\n            start: 6115,\n            end: 6125,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6125,\n            end: 6126,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"true\",\n            start: 6126,\n            end: 6130,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6130,\n            end: 6132,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 6132,\n            end: 6136,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6136,\n            end: 6137,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"After adding debug_mode: [dict get $config debug_mode]\\\"\",\n            start: 6137,\n            end: 6193,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6193,\n            end: 6195,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6195,\n            end: 6197,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Check if key exists\\r\",\n            start: 6197,\n            end: 6219,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 6219,\n            end: 6220,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 6220,\n            end: 6222,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6222,\n            end: 6223,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{[dict exists $config ssl_enabled]}\",\n            start: 6223,\n            end: 6258,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6258,\n            end: 6259,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"SSL is [expr {[dict get $config ssl_enabled] ? \\\"enabled\\\" : \\\"disabled\\\"}]\\\"\\r\\n}\",\n            start: 6259,\n            end: 6347,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6347,\n            end: 6349,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6349,\n            end: 6351,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# File operations\\r\",\n            start: 6351,\n            end: 6369,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 6369,\n            end: 6370,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 6370,\n            end: 6373,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6373,\n            end: 6374,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"filename\",\n            start: 6374,\n            end: 6382,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6382,\n            end: 6383,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"test.txt\\\"\",\n            start: 6383,\n            end: 6393,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6393,\n            end: 6395,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6395,\n            end: 6397,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Write to file\\r\",\n            start: 6397,\n            end: 6413,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 6413,\n            end: 6414,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 6414,\n            end: 6417,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6417,\n            end: 6418,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"file\",\n            start: 6418,\n            end: 6422,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6422,\n            end: 6423,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 6423,\n            end: 6424,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"open\",\n            start: 6424,\n            end: 6428,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6428,\n            end: 6429,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 6429,\n            end: 6430,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"filename\",\n            start: 6430,\n            end: 6438,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6438,\n            end: 6439,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"w\",\n            start: 6439,\n            end: 6440,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 6440,\n            end: 6441,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6441,\n            end: 6443,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 6443,\n            end: 6447,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6447,\n            end: 6448,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 6448,\n            end: 6449,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"file\",\n            start: 6449,\n            end: 6453,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6453,\n            end: 6454,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"This is a test file\\\"\",\n            start: 6454,\n            end: 6475,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6475,\n            end: 6477,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 6477,\n            end: 6481,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6481,\n            end: 6482,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 6482,\n            end: 6483,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"file\",\n            start: 6483,\n            end: 6487,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6487,\n            end: 6488,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Line 2\\\"\",\n            start: 6488,\n            end: 6496,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6496,\n            end: 6498,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 6498,\n            end: 6502,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6502,\n            end: 6503,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 6503,\n            end: 6504,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"file\",\n            start: 6504,\n            end: 6508,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6508,\n            end: 6509,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Line 3\\\"\",\n            start: 6509,\n            end: 6517,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6517,\n            end: 6519,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"close\",\n            start: 6519,\n            end: 6524,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6524,\n            end: 6525,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 6525,\n            end: 6526,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"file\",\n            start: 6526,\n            end: 6530,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6530,\n            end: 6532,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6532,\n            end: 6534,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Read from file\\r\",\n            start: 6534,\n            end: 6551,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 6551,\n            end: 6552,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 6552,\n            end: 6554,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6554,\n            end: 6555,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{[file exists $filename]}\",\n            start: 6555,\n            end: 6580,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6580,\n            end: 6581,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set file [open $filename r]\\r\\n    set content [read $file]\\r\\n    close $file\\r\\n    puts \\\"File content:\\\"\\r\\n    puts $content\\r\\n}\",\n            start: 6581,\n            end: 6710,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6710,\n            end: 6712,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6712,\n            end: 6714,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Read file line by line\\r\",\n            start: 6714,\n            end: 6739,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 6739,\n            end: 6740,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 6740,\n            end: 6742,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6742,\n            end: 6743,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{[file exists $filename]}\",\n            start: 6743,\n            end: 6768,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6768,\n            end: 6769,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set file [open $filename r]\\r\\n    set line_number 1\\r\\n    while {[gets $file line] >= 0} {\\r\\n        puts \\\"Line $line_number: $line\\\"\\r\\n        incr line_number\\r\\n    }\\r\\n    close $file\\r\\n}\",\n            start: 6769,\n            end: 6958,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6958,\n            end: 6960,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 6960,\n            end: 6962,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# File information\\r\",\n            start: 6962,\n            end: 6981,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 6981,\n            end: 6982,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 6982,\n            end: 6984,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 6984,\n            end: 6985,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{[file exists $filename]}\",\n            start: 6985,\n            end: 7010,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7010,\n            end: 7011,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"File size: [file size $filename] bytes\\\"\\r\\n    puts \\\"File type: [file type $filename]\\\"\\r\\n    puts \\\"File readable: [file readable $filename]\\\"\\r\\n    puts \\\"File writable: [file writable $filename]\\\"\\r\\n    puts \\\"File executable: [file executable $filename]\\\"\\r\\n}\",\n            start: 7011,\n            end: 7274,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7274,\n            end: 7276,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7276,\n            end: 7278,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Delete file\\r\",\n            start: 7278,\n            end: 7292,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 7292,\n            end: 7293,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 7293,\n            end: 7295,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7295,\n            end: 7296,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{[file exists $filename]}\",\n            start: 7296,\n            end: 7321,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7321,\n            end: 7322,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    file delete $filename\\r\\n    puts \\\"File deleted\\\"\\r\\n}\",\n            start: 7322,\n            end: 7378,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7378,\n            end: 7380,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7380,\n            end: 7382,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Error handling\\r\",\n            start: 7382,\n            end: 7399,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 7399,\n            end: 7400,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 7400,\n            end: 7404,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7404,\n            end: 7405,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"safe_divide\",\n            start: 7405,\n            end: 7416,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7416,\n            end: 7417,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{a b}\",\n            start: 7417,\n            end: 7422,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7422,\n            end: 7423,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    if {[catch {expr {$a / $b}} result]} {\\r\\n        return \\\"Error: Division by zero or invalid input\\\"\\r\\n    } else {\\r\\n        return $result\\r\\n    }\\r\\n}\",\n            start: 7423,\n            end: 7575,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7575,\n            end: 7577,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7577,\n            end: 7579,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 7579,\n            end: 7583,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7583,\n            end: 7584,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"10 / 2 = [safe_divide 10 2]\\\"\",\n            start: 7584,\n            end: 7613,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7613,\n            end: 7615,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 7615,\n            end: 7619,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7619,\n            end: 7620,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"10 / 0 = [safe_divide 10 0]\\\"\",\n            start: 7620,\n            end: 7649,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7649,\n            end: 7651,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7651,\n            end: 7653,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Try-catch equivalent\\r\",\n            start: 7653,\n            end: 7676,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 7676,\n            end: 7677,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 7677,\n            end: 7679,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7679,\n            end: 7680,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{[catch {\\r\\n    set result [expr {10 / 0}]\\r\\n    puts \\\"Result: $result\\\"\\r\\n} error_msg]}\",\n            start: 7680,\n            end: 7764,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7764,\n            end: 7765,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"Caught error: $error_msg\\\"\\r\\n}\",\n            start: 7765,\n            end: 7806,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7806,\n            end: 7808,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 7808,\n            end: 7810,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Namespace example\\r\",\n            start: 7810,\n            end: 7830,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 7830,\n            end: 7831,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"namespace\",\n            start: 7831,\n            end: 7840,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7840,\n            end: 7841,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"eval\",\n            start: 7841,\n            end: 7845,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7845,\n            end: 7846,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"math\",\n            start: 7848,\n            end: 7852,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 7852,\n            end: 7853,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    variable pi 3.14159\\r\\n    \\r\\n    proc circle_area {radius} {\\r\\n        variable pi\\r\\n        return [expr {$pi * $radius * $radius}]\\r\\n    }\\r\\n    \\r\\n    proc circle_circumference {radius} {\\r\\n        variable pi\\r\\n        return [expr {2 * $pi * $radius}]\\r\\n    }\\r\\n}\",\n            start: 7853,\n            end: 8117,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8117,\n            end: 8119,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8119,\n            end: 8121,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 8121,\n            end: 8125,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8125,\n            end: 8126,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Circle area (r=5): [::math::circle_area 5]\\\"\",\n            start: 8126,\n            end: 8170,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8170,\n            end: 8172,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 8172,\n            end: 8176,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8176,\n            end: 8177,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Circle circumference (r=5): [::math::circle_circumference 5]\\\"\",\n            start: 8177,\n            end: 8239,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8239,\n            end: 8241,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 8241,\n            end: 8243,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Object-oriented programming with TclOO (Tcl 8.6+)\\r\",\n            start: 8243,\n            end: 8295,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 8295,\n            end: 8296,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 8296,\n            end: 8298,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8298,\n            end: 8299,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{[info commands oo::class] ne \\\"\\\"}\",\n            start: 8299,\n            end: 8332,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 8332,\n            end: 8333,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    oo::class create Person {\\r\\n        variable name age\\r\\n        \\r\\n        constructor {person_name person_age} {\\r\\n            set name $person_name\\r\\n            set age $person_age\\r\\n        }\\r\\n        \\r\\n        method get_name {} {\\r\\n            return $name\\r\\n        }\\r\\n        \\r\\n        method get_age {} {\\r\\n            return $age\\r\\n        }\\r\\n        \\r\\n        method set_age {new_age} {\\r\\n            set age $new_age\\r\\n        }\\r\\n        \\r\\n        method introduce {} {\\r\\n            return \\\"Hi, I'm $name and I'm $age years old.\\\"\\r\\n        }\\r\\n        \\r\\n        method birthday {} {\\r\\n            incr age\\r\\n            return \\\"Happy birthday! I'm now $age years old.\\\"\\r\\n        }\\r\\n    }\\r\\n    \\r\\n    # Create instances\\r\\n    set person1 [Person new \\\"Alice\\\" 25]\\r\\n    set person2 [Person new \\\"Bob\\\" 30]\\r\\n    \\r\\n    puts [$person1 introduce]\\r\\n    puts [$person2 introduce]\\r\\n    \\r\\n    puts [$person1 birthday]\\r\\n    puts \\\"Alice's new age: [$person1 get_age]\\\"\\r\\n    \\r\\n    # Cleanup\\r\\n    $person1 destroy\\r\\n    $person2 destroy\\r\\n}\",\n            start: 8333,\n            end: 9352,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9352,\n            end: 9354,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9354,\n            end: 9356,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Advanced list processing\\r\",\n            start: 9356,\n            end: 9383,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 9383,\n            end: 9384,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 9384,\n            end: 9388,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9388,\n            end: 9389,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 9389,\n            end: 9392,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9392,\n            end: 9393,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{func list}\",\n            start: 9393,\n            end: 9404,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9404,\n            end: 9405,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set result {}\\r\\n    foreach item $list {\\r\\n        lappend result [$func $item]\\r\\n    }\\r\\n    return $result\\r\\n}\",\n            start: 9405,\n            end: 9519,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9519,\n            end: 9521,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9521,\n            end: 9523,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 9523,\n            end: 9527,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9527,\n            end: 9528,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"filter\",\n            start: 9528,\n            end: 9534,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9534,\n            end: 9535,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{predicate list}\",\n            start: 9535,\n            end: 9551,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9551,\n            end: 9552,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    set result {}\\r\\n    foreach item $list {\\r\\n        if {[$predicate $item]} {\\r\\n            lappend result $item\\r\\n        }\\r\\n    }\\r\\n    return $result\\r\\n}\",\n            start: 9552,\n            end: 9708,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9708,\n            end: 9710,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9710,\n            end: 9712,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 9712,\n            end: 9716,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9716,\n            end: 9717,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"square\",\n            start: 9717,\n            end: 9723,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9723,\n            end: 9724,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{x}\",\n            start: 9724,\n            end: 9727,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9727,\n            end: 9728,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return [expr {$x * $x}]\\r\\n}\",\n            start: 9728,\n            end: 9761,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9761,\n            end: 9763,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9763,\n            end: 9765,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 9765,\n            end: 9769,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9769,\n            end: 9770,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"is_even\",\n            start: 9770,\n            end: 9777,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9777,\n            end: 9778,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{x}\",\n            start: 9778,\n            end: 9781,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9781,\n            end: 9782,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return [expr {$x % 2 == 0}]\\r\\n}\",\n            start: 9782,\n            end: 9819,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9819,\n            end: 9821,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9821,\n            end: 9823,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 9823,\n            end: 9826,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9826,\n            end: 9827,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"test_numbers\",\n            start: 9827,\n            end: 9839,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9839,\n            end: 9840,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{1 2 3 4 5 6 7 8 9 10}\",\n            start: 9840,\n            end: 9862,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9862,\n            end: 9864,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 9864,\n            end: 9868,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9868,\n            end: 9869,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Original numbers: $test_numbers\\\"\",\n            start: 9869,\n            end: 9902,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9902,\n            end: 9904,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 9904,\n            end: 9908,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9908,\n            end: 9909,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Squared: [map square $test_numbers]\\\"\",\n            start: 9909,\n            end: 9946,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9946,\n            end: 9948,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 9948,\n            end: 9952,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 9952,\n            end: 9953,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Even numbers: [filter is_even $test_numbers]\\\"\",\n            start: 9953,\n            end: 9999,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 9999,\n            end: 10001,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10001,\n            end: 10003,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Time and date\\r\",\n            start: 10003,\n            end: 10019,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 10019,\n            end: 10020,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10020,\n            end: 10024,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10024,\n            end: 10025,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Current time: [clock format [clock seconds]]\\\"\",\n            start: 10025,\n            end: 10071,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10071,\n            end: 10073,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10073,\n            end: 10077,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10077,\n            end: 10078,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Current time (ISO): [clock format [clock seconds] -format \\\"\",\n            start: 10078,\n            end: 10138,\n        },\n        TokenData {\n            kind: \"Percent\",\n            text: \"%\",\n            start: 10138,\n            end: 10139,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Y\",\n            start: 10139,\n            end: 10140,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 10140,\n            end: 10141,\n        },\n        TokenData {\n            kind: \"Percent\",\n            text: \"%\",\n            start: 10141,\n            end: 10142,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"m\",\n            start: 10142,\n            end: 10143,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 10143,\n            end: 10144,\n        },\n        TokenData {\n            kind: \"Percent\",\n            text: \"%\",\n            start: 10144,\n            end: 10145,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"d\",\n            start: 10145,\n            end: 10146,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10146,\n            end: 10147,\n        },\n        TokenData {\n            kind: \"Percent\",\n            text: \"%\",\n            start: 10147,\n            end: 10148,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"H\",\n            start: 10148,\n            end: 10149,\n        },\n        TokenData {\n            kind: \"Percent\",\n            text: \"%\",\n            start: 10150,\n            end: 10151,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"M\",\n            start: 10151,\n            end: 10152,\n        },\n        TokenData {\n            kind: \"Percent\",\n            text: \"%\",\n            start: 10153,\n            end: 10154,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"S\",\n            start: 10154,\n            end: 10155,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"]\\\"\",\n            start: 10155,\n            end: 10158,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10158,\n            end: 10160,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10160,\n            end: 10164,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10164,\n            end: 10165,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Timestamp: [clock seconds]\\\"\",\n            start: 10165,\n            end: 10193,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10193,\n            end: 10195,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10195,\n            end: 10197,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Parse date\\r\",\n            start: 10197,\n            end: 10210,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 10210,\n            end: 10211,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 10211,\n            end: 10214,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10214,\n            end: 10215,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"date_string\",\n            start: 10215,\n            end: 10226,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10226,\n            end: 10227,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"2023-12-25 15:30:00\\\"\",\n            start: 10227,\n            end: 10248,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10248,\n            end: 10250,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 10250,\n            end: 10252,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10252,\n            end: 10253,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{[catch {clock scan $date_string -format \\\"%Y-%m-%d %H:%M:%S\\\"} timestamp]}\",\n            start: 10253,\n            end: 10326,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10326,\n            end: 10327,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"Failed to parse date\\\"\\r\\n}\",\n            start: 10327,\n            end: 10364,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10364,\n            end: 10365,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 10365,\n            end: 10369,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10369,\n            end: 10370,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"Parsed timestamp: $timestamp\\\"\\r\\n    puts \\\"Formatted: [clock format $timestamp]\\\"\\r\\n}\",\n            start: 10370,\n            end: 10464,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10464,\n            end: 10466,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10466,\n            end: 10468,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Mathematical operations\\r\",\n            start: 10468,\n            end: 10494,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 10494,\n            end: 10495,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10495,\n            end: 10499,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10499,\n            end: 10500,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Mathematical operations:\\\"\",\n            start: 10500,\n            end: 10526,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10526,\n            end: 10528,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10528,\n            end: 10532,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10532,\n            end: 10533,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"2 + 3 = [expr {2 + 3}]\\\"\",\n            start: 10533,\n            end: 10557,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10557,\n            end: 10559,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10559,\n            end: 10563,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10563,\n            end: 10564,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"10 - 4 = [expr {10 - 4}]\\\"\",\n            start: 10564,\n            end: 10590,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10590,\n            end: 10592,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10592,\n            end: 10596,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10596,\n            end: 10597,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"6 * 7 = [expr {6 * 7}]\\\"\",\n            start: 10597,\n            end: 10621,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10621,\n            end: 10623,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10623,\n            end: 10627,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10627,\n            end: 10628,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"15 / 3 = [expr {15 / 3}]\\\"\",\n            start: 10628,\n            end: 10654,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10654,\n            end: 10656,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10656,\n            end: 10660,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10660,\n            end: 10661,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"17 % 5 = [expr {17 % 5}]\\\"\",\n            start: 10661,\n            end: 10687,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10687,\n            end: 10689,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10689,\n            end: 10693,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10693,\n            end: 10694,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"2^8 = [expr {2**8}]\\\"\",\n            start: 10694,\n            end: 10715,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10715,\n            end: 10717,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10717,\n            end: 10721,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10721,\n            end: 10722,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"sqrt(16) = [expr {sqrt(16)}]\\\"\",\n            start: 10722,\n            end: 10752,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10752,\n            end: 10754,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10754,\n            end: 10758,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10758,\n            end: 10759,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"sin(pi/2) = [expr {sin(3.14159/2)}]\\\"\",\n            start: 10759,\n            end: 10796,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10796,\n            end: 10798,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10798,\n            end: 10802,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10802,\n            end: 10803,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"cos(0) = [expr {cos(0)}]\\\"\",\n            start: 10803,\n            end: 10829,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10829,\n            end: 10831,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10831,\n            end: 10835,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10835,\n            end: 10836,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"log(10) = [expr {log(10)}]\\\"\",\n            start: 10836,\n            end: 10864,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10864,\n            end: 10866,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10866,\n            end: 10870,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10870,\n            end: 10871,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"exp(1) = [expr {exp(1)}]\\\"\",\n            start: 10871,\n            end: 10897,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10897,\n            end: 10899,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10899,\n            end: 10903,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10903,\n            end: 10904,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"abs(-5) = [expr {abs(-5)}]\\\"\",\n            start: 10904,\n            end: 10932,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10932,\n            end: 10934,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10934,\n            end: 10938,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10938,\n            end: 10939,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"round(3.7) = [expr {round(3.7)}]\\\"\",\n            start: 10939,\n            end: 10973,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 10973,\n            end: 10975,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 10975,\n            end: 10979,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 10979,\n            end: 10980,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"floor(3.7) = [expr {floor(3.7)}]\\\"\",\n            start: 10980,\n            end: 11014,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11014,\n            end: 11016,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 11016,\n            end: 11020,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11020,\n            end: 11021,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"ceil(3.2) = [expr {ceil(3.2)}]\\\"\",\n            start: 11021,\n            end: 11053,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11053,\n            end: 11055,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11055,\n            end: 11057,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Random numbers\\r\",\n            start: 11057,\n            end: 11074,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 11074,\n            end: 11075,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 11075,\n            end: 11079,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11079,\n            end: 11080,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Random integer 1-100: [expr {int(rand() * 100) + 1}]\\\"\",\n            start: 11080,\n            end: 11134,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11134,\n            end: 11136,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 11136,\n            end: 11140,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11140,\n            end: 11141,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Random float 0-1: [expr {rand()}]\\\"\",\n            start: 11141,\n            end: 11176,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11176,\n            end: 11178,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11178,\n            end: 11180,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Command substitution and variable substitution\\r\",\n            start: 11180,\n            end: 11229,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 11229,\n            end: 11230,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 11230,\n            end: 11233,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11233,\n            end: 11234,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"command\",\n            start: 11234,\n            end: 11241,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11241,\n            end: 11242,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"date\\\"\",\n            start: 11242,\n            end: 11248,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11248,\n            end: 11250,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 11250,\n            end: 11254,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11254,\n            end: 11255,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Command output: [exec date]\\\"\",\n            start: 11255,\n            end: 11284,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11284,\n            end: 11285,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 11285,\n            end: 11286,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# This might not work on all systems\\r\",\n            start: 11286,\n            end: 11323,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 11323,\n            end: 11324,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11324,\n            end: 11326,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Variable substitution examples\\r\",\n            start: 11326,\n            end: 11359,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 11359,\n            end: 11360,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 11360,\n            end: 11363,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11363,\n            end: 11364,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"var1\",\n            start: 11364,\n            end: 11368,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11368,\n            end: 11369,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Hello\\\"\",\n            start: 11369,\n            end: 11376,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11376,\n            end: 11378,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 11378,\n            end: 11381,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11381,\n            end: 11382,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"var2\",\n            start: 11382,\n            end: 11386,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11386,\n            end: 11387,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"World\\\"\",\n            start: 11387,\n            end: 11394,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11394,\n            end: 11396,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 11396,\n            end: 11400,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11400,\n            end: 11401,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"$var1, $var2!\\\"\",\n            start: 11401,\n            end: 11416,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11416,\n            end: 11418,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 11418,\n            end: 11422,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11422,\n            end: 11423,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"${var1}, ${var2}!\\\"\",\n            start: 11423,\n            end: 11442,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11442,\n            end: 11444,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11444,\n            end: 11446,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Escape sequences\\r\",\n            start: 11446,\n            end: 11465,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 11465,\n            end: 11466,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 11466,\n            end: 11470,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11470,\n            end: 11471,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Tab:\\\\tTabbed text\\\"\",\n            start: 11471,\n            end: 11490,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11490,\n            end: 11492,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 11492,\n            end: 11496,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11496,\n            end: 11497,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Newline:\\\\nNew line\\\"\",\n            start: 11497,\n            end: 11517,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11517,\n            end: 11519,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 11519,\n            end: 11523,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11523,\n            end: 11524,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Quote: \\\\\\\"Hello\\\\\\\"\\\"\",\n            start: 11524,\n            end: 11542,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11542,\n            end: 11544,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 11544,\n            end: 11548,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11548,\n            end: 11549,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Backslash: \\\\\\\\\\\"\",\n            start: 11549,\n            end: 11564,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11564,\n            end: 11566,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11566,\n            end: 11568,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Comments\\r\",\n            start: 11568,\n            end: 11579,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 11579,\n            end: 11580,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# This is a single-line comment\\r\",\n            start: 11580,\n            end: 11612,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 11612,\n            end: 11613,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11613,\n            end: 11615,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Multi-line comment (using if 0)\\r\",\n            start: 11615,\n            end: 11649,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 11649,\n            end: 11650,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 11650,\n            end: 11652,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11652,\n            end: 11653,\n        },\n        TokenData {\n            kind: \"Number\",\n            text: \"0\",\n            start: 11653,\n            end: 11654,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11654,\n            end: 11655,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    This is a multi-line comment\\r\\n    that spans several lines\\r\\n    and won't be executed\\r\\n}\",\n            start: 11655,\n            end: 11750,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11750,\n            end: 11752,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11752,\n            end: 11754,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Procedure with default arguments and variable arguments\\r\",\n            start: 11754,\n            end: 11812,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 11812,\n            end: 11813,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 11813,\n            end: 11817,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11817,\n            end: 11818,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"flexible_proc\",\n            start: 11818,\n            end: 11831,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11831,\n            end: 11832,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{required {optional \\\"default\\\"} args}\",\n            start: 11832,\n            end: 11868,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11868,\n            end: 11869,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    puts \\\"Required: $required\\\"\\r\\n    puts \\\"Optional: $optional\\\"\\r\\n    puts \\\"Additional args: $args\\\"\\r\\n}\",\n            start: 11869,\n            end: 11972,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11972,\n            end: 11974,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11974,\n            end: 11976,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"flexible_proc\",\n            start: 11976,\n            end: 11989,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 11989,\n            end: 11990,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"test\\\"\",\n            start: 11990,\n            end: 11996,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 11996,\n            end: 11998,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"flexible_proc\",\n            start: 11998,\n            end: 12011,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12011,\n            end: 12012,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"test\\\"\",\n            start: 12012,\n            end: 12018,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12018,\n            end: 12019,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"custom\\\"\",\n            start: 12019,\n            end: 12027,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12027,\n            end: 12029,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"flexible_proc\",\n            start: 12029,\n            end: 12042,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12042,\n            end: 12043,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"test\\\"\",\n            start: 12043,\n            end: 12049,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12049,\n            end: 12050,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"custom\\\"\",\n            start: 12050,\n            end: 12058,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12058,\n            end: 12059,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"extra1\\\"\",\n            start: 12059,\n            end: 12067,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12067,\n            end: 12068,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"extra2\\\"\",\n            start: 12068,\n            end: 12076,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12076,\n            end: 12078,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12078,\n            end: 12080,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Lambda-like procedures (anonymous procedures)\\r\",\n            start: 12080,\n            end: 12128,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 12128,\n            end: 12129,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 12129,\n            end: 12132,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12132,\n            end: 12133,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"lambda\",\n            start: 12133,\n            end: 12139,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12139,\n            end: 12140,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 12140,\n            end: 12141,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"list\",\n            start: 12141,\n            end: 12145,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12145,\n            end: 12146,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{x}\",\n            start: 12146,\n            end: 12149,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12149,\n            end: 12150,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{return [expr {$x * 2}]}\",\n            start: 12150,\n            end: 12174,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 12174,\n            end: 12175,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12175,\n            end: 12177,\n        },\n        TokenData {\n            kind: \"Proc\",\n            text: \"proc\",\n            start: 12177,\n            end: 12181,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12181,\n            end: 12182,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"apply_lambda\",\n            start: 12182,\n            end: 12194,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12194,\n            end: 12195,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{lambda_proc arg}\",\n            start: 12195,\n            end: 12212,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12212,\n            end: 12213,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{\\r\\n    return [apply $lambda_proc $arg]\\r\\n}\",\n            start: 12213,\n            end: 12255,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12255,\n            end: 12257,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12257,\n            end: 12259,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 12259,\n            end: 12263,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12263,\n            end: 12264,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Lambda result: [apply_lambda $lambda 5]\\\"\",\n            start: 12264,\n            end: 12305,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12305,\n            end: 12307,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12307,\n            end: 12309,\n        },\n        TokenData {\n            kind: \"Comment\",\n            text: \"# Eval and subst\\r\",\n            start: 12309,\n            end: 12326,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\n\",\n            start: 12326,\n            end: 12327,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 12327,\n            end: 12330,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12330,\n            end: 12331,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"code\",\n            start: 12331,\n            end: 12335,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12335,\n            end: 12336,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"{puts \\\"This code was evaluated\\\"}\",\n            start: 12336,\n            end: 12368,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12368,\n            end: 12370,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"eval\",\n            start: 12370,\n            end: 12374,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12374,\n            end: 12375,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 12375,\n            end: 12376,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"code\",\n            start: 12376,\n            end: 12380,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12380,\n            end: 12382,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12382,\n            end: 12384,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 12384,\n            end: 12387,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12387,\n            end: 12388,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"template\",\n            start: 12388,\n            end: 12396,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12396,\n            end: 12397,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Hello, \\\\$name! Today is [clock format [clock seconds] -format %A]\\\"\",\n            start: 12397,\n            end: 12464,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12464,\n            end: 12466,\n        },\n        TokenData {\n            kind: \"Set\",\n            text: \"set\",\n            start: 12466,\n            end: 12469,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12469,\n            end: 12470,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 12470,\n            end: 12474,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12474,\n            end: 12475,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"TCL User\\\"\",\n            start: 12475,\n            end: 12485,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12485,\n            end: 12487,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 12487,\n            end: 12491,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12491,\n            end: 12492,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 12492,\n            end: 12493,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"subst\",\n            start: 12493,\n            end: 12498,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12498,\n            end: 12499,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 12499,\n            end: 12500,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"template\",\n            start: 12500,\n            end: 12508,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 12508,\n            end: 12509,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12509,\n            end: 12511,\n        },\n        TokenData {\n            kind: \"Newline\",\n            text: \"\\r\\n\",\n            start: 12511,\n            end: 12513,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"puts\",\n            start: 12513,\n            end: 12517,\n        },\n        TokenData {\n            kind: \"Whitespace\",\n            text: \" \",\n            start: 12517,\n            end: 12518,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"TCL lexer test completed successfully!\\\"\",\n            start: 12518,\n            end: 12558,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\",\n            start: 12558,\n            end: 12558,\n        },\n    ],\n    errors: [],\n}" }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     lexer::test_tcl_lexer
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6aa9fe983c3c5b19a867482664da0988e9435f0afa41460b90be834baf605ca8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6aa9fe983c3c5b19a867482664da0988e9435f0afa41460b90be834baf605ca8", kill_on_drop: false }`
[INFO] [stdout] 6aa9fe983c3c5b19a867482664da0988e9435f0afa41460b90be834baf605ca8
